home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-22 | 4.8 KB | 109 lines | [TEXT/????] |
- This is p2c, the Pascal to C converter. To convert a Pascal file to C,
- drag it to p2c. If you are using MacOS 6.xx, you still have to double
- click p2c and select an input file.
-
- This is version 1.21a2. The letter "a" marks it as a version currently in
- alpha test. This means that early development tests have been passed and
- the program is now in test for limited application. It is not considered
- bug free, even when compared with the usual humble standard of commercial
- software. Moreover the interface is subject to change:parameter names and
- overall user interface is not yet fixed.
- The trailing number shows you the rewrite number of this alpha test version.
- The program is not yet recommended for public usage. It is provided here
- for testing purposes only. Do not use unless you must.
-
- This version is compiled with -mc68020 and -model far. You need a Macintosh
- with 68020 or better (Mac II or better) to run it.
-
- Make sure that all paths in the file "p2c preferences" are set
- according to your local situation. In particular, make sure that {Pinterfaces}
- is set correctly in the p2c preferences if you want to port from MPW.
-
- Some features of MPW Pascal are not yet or not yet completely supported in this
- version. To avoid unnecessary warnings and error messages, it prepare
- a cleaned-up version of the MPW files for use with p2c.
-
- - conditional compilation:
- If the ReplaceBefore is specified in the preferences, string replacement is
- done on every Pascal source line. For example:
-
- ReplaceBefore "{$ifdef" "{EMBED #ifdef"
- ReplaceBefore "{$endif}" "{EMBED #endif}"
-
- These lines rewrite MPW Pascal compile-time conditionals into
- comments beginning with the special word EMBED. This word instructs
- p2c to format the rest of the comment without "/* */" delimiters, i.e.,
- the rest of the comment is embedded directly in the output C program.
- There is also a ReplaceAfter option, which specifies replacements to be
- done on the output of p2c.
-
- Currently, this feature makes only literal string replacements, not
- pattern-based matches. It is recommended to extract unconditional versions
- of your source (using e.g. appropriate MPW tools) before using p2c.
-
- - inline-statements in interface sections
- MPW allows inline-implementations in the interface section of a unit,
- as in
- PROCEDURE Debugger;
- INLINE $A9FF;
- P2c will emit a warning. The warning can be turned off using the the
- preferences setting.
-
- - units without implementation section
- MPW allows missing implementation sections. This version of P2c will
- complain if a unit has no implementation. To avoid this error message,
- add an empty implementation section.
-
- Backup your files.
-
-
- ************************************************************************************
- Author: G. Sawitzki, gs@statlab.uni-heidelberg.de
- Mail: StatLab Heidelberg, Im Neuenheimer Feld 294, D 69120 Heidelberg
- This program is based on Dave Gillespie's UNIX p2c version 1.21.
- All features of p2c are due to Dave Gillespie, daveg@synaptics.com.
- All bugs not previously known are due to G. Sawitzki, StatLab Heidelberg.
-
- This software is not in the public domain. It is unpublished work in progress.
- Part of the code is
- © 1989,1990,1991 Free Software Foundation,
- with additonal copyrights by Dave Gillespie and G. Sawitzki
- ************************************************************************************
-
-
- When released, this program will be distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- ************************************************************************************
- In particular no liability is implied for mental damage resulting
- from intimate contact with C.
-
- ************************************************************************************
- To do
-
- --------------------
- 1.21a2 object pascal bug fixes; support for $$SHELL()
- 1.21a1 added object pascal support, conditional compilation, inline
-
- 1.20a10 fixed the bug fix of 10a9. Introduced user variable PINTERFACES.
- 1.20a9 bug fixes in identification of input/output files
- 1.20a8 resource-based stand-alone version
- 1.20a4-a7 minor fixes
- 1.20a3 search order for system configuration file is changed.
- 1. {P2CRC} if defined and exported
- 2. {prefsfolder}p2crc, if {prefsfolder} is defined and exported
- 3. {systemfolder}p2crc, if {systemfolder} is defined and exported
-
- changed meaning of -i:
- -i list configuration settings
- -i now lists the configuration after both system and local
- configuration file are evaluated. Other options are allowed on the
- same line as -i, but no conversion takes place.
- **** not yet complete ****
-
- 1.20a2 added %I to configuration file string syntax.
- expands to {Pinterfaces}
-
- 1.20a1 initial release based on D. Gillespie's p2c 1.20.
- Command syntax and messages changed to MPW conventions